package com.tz.pay.weixin.core.vo;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

public class OrderQuery {

	/**
	 * 应用ID 必填 String(32) wxd678efh567hg6787 微信开放平台审核通过的应用APPID
	 */
	private String appid = "";

	/**
	 * 商户号 必填 String(32) 1230000109 微信支付分配的商户号
	 */
	private String mch_id = "";

	/**
	 * 随机字符串 必填 String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
	 * 随机字符串，不长于32位。推荐随机数生成算法
	 */
	private String nonce_str = "";

	/**
	 * 商户订单号 必填 String(32) 20150806125346 商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
	 */
	private String out_trade_no = null;

	/**
	 * 微信订单号 必填 String(32) 1009660380201506130728806387 微信的订单号，优先使用
	 */
	private String transaction_id = null;

	/**
	 * 签名 必填 String(32) C380BEC2BFD727A4B6845133519F3AD6 签名，详见签名生成算法
	 */
	private String sign = "";

	public String getAppid() {
		return appid;
	}

	public void setAppid(String appid) {
		this.appid = appid;
	}

	public String getMch_id() {
		return mch_id;
	}

	public void setMch_id(String mch_id) {
		this.mch_id = mch_id;
	}

	public String getNonce_str() {
		return nonce_str;
	}

	public void setNonce_str(String nonce_str) {
		this.nonce_str = nonce_str;
	}

	public String getOut_trade_no() {
		return out_trade_no;
	}

	public void setOut_trade_no(String out_trade_no) {
		this.out_trade_no = out_trade_no;
	}

	public String getTransaction_id() {
		return transaction_id;
	}

	public void setTransaction_id(String transaction_id) {
		this.transaction_id = transaction_id;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public Map<String, Object> toMap() {
		Map<String, Object> map = new HashMap<String, Object>();
		Field[] fields = this.getClass().getDeclaredFields();
		for (Field field : fields) {
			Object obj;
			try {
				obj = field.get(this);
				if (obj != null) {
					map.put(field.getName(), obj);
				}
			} catch (IllegalArgumentException e) {
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				e.printStackTrace();
			}
		}
		return map;
	}

}
